<!doctype html>
<html lang="zh-cn">
  <head>
    <title>Mysql数据库的基本使用(2) // JW Blog</title>
    <meta charset="utf-8" />
    <meta name="generator" content="Hugo 0.60.1" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="author" content="John Doe" />
    <meta name="description" content="" />
    <link rel="stylesheet" href="https://duyi111.gitee.io/css/main.min.f90f5edd436ec7b74ad05479a05705770306911f721193e7845948fb07fe1335.css" />

    
    <meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Mysql数据库的基本使用(2)"/>
<meta name="twitter:description" content="1.as和distinct关键字 1.1 as关键字  在使用SQL语句显示结果的时候，往往在屏幕显示的字段名并不具备良好的可读性，此时可以使用as给字段起一个别名。 1.使用as给字段起别名 select id as 序号, name as 名字, gender as 性别 from students;  2.可以通过as给表起别名 # 如果是单表查询，可以忽略表名 select id, name, gender from students; # 表名.字段名 select student.id, student.name, student.gender from students; # 可以通过as给表起别名 select s.id, s.name, s.gender from students as s;   1.2 distinct关键字  distinct可以去除重复数据行 select distinct 列1,... from 表名;   1.3 小结  as关键字可以给表中字段或者表名起别名 distinct关键字可以去除重复数据行  2.where条件查询 2.1 where条件查询的介绍  使用where条件查询可以对表中的数据进行筛选，条件成立的纪录会出现在结果集当中。 where语句支持的运算符：  1."/>

    <meta property="og:title" content="Mysql数据库的基本使用(2)" />
<meta property="og:description" content="1.as和distinct关键字 1.1 as关键字  在使用SQL语句显示结果的时候，往往在屏幕显示的字段名并不具备良好的可读性，此时可以使用as给字段起一个别名。 1.使用as给字段起别名 select id as 序号, name as 名字, gender as 性别 from students;  2.可以通过as给表起别名 # 如果是单表查询，可以忽略表名 select id, name, gender from students; # 表名.字段名 select student.id, student.name, student.gender from students; # 可以通过as给表起别名 select s.id, s.name, s.gender from students as s;   1.2 distinct关键字  distinct可以去除重复数据行 select distinct 列1,... from 表名;   1.3 小结  as关键字可以给表中字段或者表名起别名 distinct关键字可以去除重复数据行  2.where条件查询 2.1 where条件查询的介绍  使用where条件查询可以对表中的数据进行筛选，条件成立的纪录会出现在结果集当中。 where语句支持的运算符：  1." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://duyi111.gitee.io/post/mysql%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A82/" />
<meta property="article:published_time" content="2020-02-02T13:12:50+08:00" />
<meta property="article:modified_time" content="2020-02-02T13:12:50+08:00" />


  </head>
  <body>
    <header class="app-header">
      <a href="https://duyi111.gitee.io/"><img class="app-header-avatar" src="/avatar.jpg" alt="John Doe" /></a>
      <h1>JW Blog</h1>
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vehicula turpis sit amet elit pretium.</p>
      <div class="app-header-social">
        
      </div>
    </header>
    <main class="app-container">
      
  <article class="post">
    <header class="post-header">
      <h1 class ="post-title">Mysql数据库的基本使用(2)</h1>
      <div class="post-meta">
        <div>
          <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-calendar">
  <title>calendar</title>
  <rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line>
</svg>
          Feb 2, 2020
        </div>
        <div>
          <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-clock">
  <title>clock</title>
  <circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline>
</svg>
          2 min read
        </div></div>
    </header>
    <div class="post-content">
      <h2 id="1asdistinct">1.as和distinct关键字</h2>
<h4 id="11-as">1.1 as关键字</h4>
<ul>
<li>在使用SQL语句显示结果的时候，往往在屏幕显示的字段名并不具备良好的可读性，此时可以使用as给字段起一个别名。</li>
<li>1.使用<code>as</code>给字段起别名
<pre><code>select id as 序号, name as 名字, gender as 性别 from students;
</code></pre></li>
<li>2.可以通过<code>as</code>给表起别名
<pre><code># 如果是单表查询，可以忽略表名
select id, name, gender from students;
# 表名.字段名
select student.id, student.name, student.gender from students;
# 可以通过as给表起别名
select s.id, s.name, s.gender from students as s;
</code></pre></li>
</ul>
<h4 id="12-distinct">1.2 distinct关键字</h4>
<ul>
<li><code>distinct</code>可以去除重复数据行
<pre><code>select distinct 列1,... from 表名;
</code></pre></li>
</ul>
<h4 id="13-">1.3 小结</h4>
<ul>
<li><code>as</code>关键字可以给表中字段或者表名起别名</li>
<li><code>distinct</code>关键字可以去除重复数据行</li>
</ul>
<h2 id="2where">2.where条件查询</h2>
<h4 id="21-where">2.1 where条件查询的介绍</h4>
<ul>
<li>使用where条件查询可以对表中的数据进行筛选，条件成立的纪录会出现在结果集当中。</li>
<li>where语句支持的运算符：
<ul>
<li>1.比较运算符</li>
<li>2.逻辑运算符</li>
<li>3.模糊查询</li>
<li>4.范围查询</li>
<li>5.空判断</li>
</ul>
</li>
<li>where条件查询语法格式：
<pre><code>select * from 表名 where 条件;
</code></pre></li>
</ul>
<h4 id="22-">2.2 比较运算符查询</h4>
<ul>
<li>等于：=</li>
<li>大于：&gt;</li>
<li>大于等于：&gt;=</li>
<li>小于：&lt;</li>
<li>小于等于：&lt;=</li>
<li>不等于：!=或者&lt;&gt;</li>
<li>例：查询编号大于3的学生
<pre><code>select * from students where id &gt; 3;
</code></pre></li>
</ul>
<h4 id="23-">2.3 逻辑运算符查询</h4>
<ul>
<li>and</li>
<li>or</li>
<li>not</li>
<li>例：查询年龄不在10岁到15岁之间的学生
<pre><code>select * from students where not (age &gt;= 10 and age &lt;=15);
</code></pre><ul>
<li>多个条件判断想要作为一个整体，可以结合&rsquo;()'。</li>
</ul>
</li>
</ul>
<h4 id="24-">2.4 模糊查询</h4>
<ul>
<li>1.<code>like</code>是模糊查询关键字</li>
<li>2.<code>%</code>表示任意多个任意字符</li>
<li>3.<code>_</code>表示一个任意字符</li>
<li>例：查询姓李或者叫明的学生
<pre><code>select *from students where name like '李%' or name like '%明';
</code></pre></li>
</ul>
<h4 id="25-">2.5 范围查询</h4>
<ul>
<li>
<p><code>between..and..</code>表示在一个连续的范围内查询</p>
</li>
<li>
<p><code>in</code>表示在一个非连续的范围内查询</p>
</li>
<li>
<p>例：查询编号为3至8的学生</p>
<pre><code>select * from students where id between 3 and 8;
</code></pre></li>
</ul>
<h4 id="26-">2.6 空判断查询</h4>
<ul>
<li>1.判断为空使用：is null</li>
<li>2.判断非空使用：is not null</li>
<li>例：查询没有填写身高的学生
<pre><code>select * from students where height is null;
</code></pre><ul>
<li>不能使用<code>where height = null</code>判断为空</li>
<li>不能使用<code>where height != null</code>判断非空</li>
<li><code>null</code>不等于<code>''</code>空字符串</li>
</ul>
</li>
</ul>
<h4 id="27-">2.7 小结</h4>
<ul>
<li>常见的比较运算符有&gt;,&lt;,&gt;=,&lt;=,!=</li>
<li>逻辑运算符<code>and</code>表示多个条件同时成立则为真，<code>or</code>表示多个条件有一个成立则为真，<code>not</code>表示对条件取反</li>
<li><code>like</code>和<code>%</code>结合使用表示任意多个任意字符，<code>like</code>和<code>_</code>结合使用表示一个任意字符</li>
<li><code>between..and..</code>限制连续范围，<code>in</code>限制非连续范围</li>
<li>判断为空使用：<code>is null</code></li>
<li>判断非空使用：<code>is not null</code></li>
</ul>
<h2 id="3">3.排序</h2>
<h4 id="31-">3.1 排序查询语法</h4>
<ul>
<li>格式：
<pre><code>select * from 表名 order by 列1 asc/desc [列2 asc/desc,...]
</code></pre><ul>
<li>先按照列1进行排序，如果列1的值相同时，则按照列2排序，以此类推</li>
<li>asc从小到大排列，即升序</li>
<li>desc从大到小排序，即降序</li>
<li>默认按照列值从小到大排序</li>
</ul>
</li>
<li>例：查询未删除男生信息，按学号降序
<pre><code>select * from students where gender = 1 and is_delete = 0 order by id desc;
</code></pre></li>
</ul>
<h4 id="32-">3.2 小结</h4>
<ul>
<li>排序使用<code>order by </code>关键字</li>
<li><code>asc</code>表示升序</li>
<li><code>desc</code>表示降序</li>
</ul>
<h2 id="4">4.分页查询</h2>
<h4 id="41-">4.1 分页查询的语法</h4>
<pre><code>select * from 表名 limit start, count;
</code></pre><ul>
<li>limit是分页查询关键字</li>
<li>start表示开始行索引，默认是0</li>
<li>count表示查询条数</li>
</ul>
<h4 id="42-mn">4.2 已知每页显示m条数据，求第n页显示的数据</h4>
<ul>
<li>获取第n页数据的SQL语句：
<pre><code>select * from students limit (n-1)*m, m
</code></pre></li>
</ul>
<h4 id="43-">4.3 小结</h4>
<ul>
<li>使用<code>limit</code>关键字可以限制数据显示数量，通过<code>limit</code>关键字可以完成分页查询
-<code> limit</code>关键字后面的第一个参数是开始行索引（默认是0，不写就是0），第二个参数是查询条数</li>
</ul>

    </div>
    <div class="post-footer">
      
    </div>
  </article>

    </main>
  </body>
</html>
